1. Field
Embodiments of the present invention generally relate to texture mapping.
2. Background
Texture mapping refers to a method for adding detail, surface texture, or color to a computer-generated graphic or three-dimensional model. When rendering computer-generated graphics, one or more textures can be applied (or mapped) to each geometric primitive of the graphic. These textures contain, for example, color and luminance data to be mapped to each of the geometric primitives.
A challenge in texture mapping, among others, is the storage and management of textures and associated mipmaps. Mipmaps are pre-calculated, optimized collections of images that accompany a texture in video memory. Typically, prior to rendering a graphics scene, all textures and associated mipmaps for the scene must be resident in video memory. This is the case even when the scene requires access to a fraction or portion of the textures and associated mipmaps. If the video memory cannot store all of the textures and associated mipmaps for the scene, the size, resolution, and level of detail for the textures and mipmaps are oftentimes reduced due to video memory constraints, thus compromising the quality of the rendered graphics scene. In addition, an inefficient use of video memory can result from the unnecessary storage of textures and mipmaps that are not used in the rendered graphics scene.
Methods and systems are needed to address the aforementioned disadvantages resulting from the typical usage of video memory during the texture mapping process.